gtk: fix crash in _gtk_rbtree_find_offset() called from update_prelight()
authorMichael Natterer <mitch@gimp.org>
Sat, 6 Feb 2010 14:57:15 +0000 (15:57 +0100)
committerMichael Natterer <mitch@gimp.org>
Sat, 6 Feb 2010 14:57:15 +0000 (15:57 +0100)
Move the check for tree_view->priv->tree being NULL into update_prelight()
so the function will never call _gtk_rbtree_find_offset() on a NULL rbtree.

gtk/gtktreeview.c

index 1b14f7b430883caa295b4d7aed778bce6f36ce71..fe815d24d438848302e65de77026eea5a68b1350 100644 (file)
@@ -3318,6 +3318,9 @@ update_prelight (GtkTreeView *tree_view,
   GtkRBTree *tree;
   GtkRBNode *node;
 
+  if (tree_view->priv->tree == NULL)
+    return;
+
   if (x == -10000)
     {
       ensure_unprelighted (tree_view);
@@ -10572,10 +10575,9 @@ gtk_tree_view_adjustment_changed (GtkAdjustment *adjustment,
       dy = tree_view->priv->dy - (int) tree_view->priv->vadjustment->value;
       if (dy)
        {
-          if (tree_view->priv->tree)
-            update_prelight (tree_view,
-                             tree_view->priv->event_last_x,
-                             tree_view->priv->event_last_y - dy);
+          update_prelight (tree_view,
+                           tree_view->priv->event_last_x,
+                           tree_view->priv->event_last_y - dy);
 
          if (tree_view->priv->edited_column &&
               GTK_IS_WIDGET (tree_view->priv->edited_column->editable_widget))